#include <stdio.h> 
#include <sys/types.h> 
#include <sys/wait.h> 
int main(int argc, char *argv[]) 
{ 
	int i; //Variable que almacena el numero de procesos creados
	int n=0; //Variable que controla el numero de procesos por crear	
	//Si recibimos parametros
	if (argc>1) {
		//Asignamos el valor del parametro 1 a la variable n
		n=atoi(argv[1])-1;	
	}		
	pid_t hijo=0;  //Variable que almacena el retorno de la función fork
	for (i=1; i<=n; i++) {
		//Siempre que creamos un hijo salimos del bucle for
	   	if ( hijo = fork() )
        	break;
	}
	//Cada proceso muestra su información
	fprintf(stdout, "Proceso %d PID:%d, PPID: %d\n",i, getpid(), getppid());  
	//Esperamos a que todos los procesos que hay por debajo finalicen	
	wait(NULL);  
	
}
